package com.zyh.mapper;

import com.zyh.domain.Order;
import com.zyh.domain.OrderItem;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface OrderMapper {
    /**
     * 新增订单
     * @param record 订单
     * @return 影响个数
     */
    int insertOrder(Order record);

    /**
     * 新增订单明细
     * @param record 订单明细
     * @return 影响个数
     */
    int insertOrderItem(OrderItem record);

    int batchInsertOrder(@Param("list") List<OrderItem> list);

    Order selectOrderById(Integer id);

    /**
     * 根据订单id，查询这个订单下的订单明细
     * @param orderId 订单id
     * @return 订单明细的列表
     */
    List<OrderItem> selectOrderItemsByOrderId(Integer orderId);

    /**
     * 获取订单详情包括它的明细
     * @param id 订单id
     * @return 订单详情
     */
    Order getOrderDetail(Integer id);

    List<Order> getOrderList();

    Order selectOrderById2(Integer id);

    List<Order> selectOrderList2();

    /**
     * 获取订单明细的详情
     * @param orderItemId 订单明细的id
     * @return 订单明细的详情
     */
    OrderItem getOrderItemDetail(Integer orderItemId);
    OrderItem getOrderItemDetail2(Integer orderItemId);
    List<OrderItem> getOrderItemList();
    List<OrderItem> getOrderItemList3();
}